

#ifndef UCPLPLOTERRORHANDLERLOCK_H
#define UCPLPLOTERRORHANDLERLOCK_H

#include "zAdAChar.h"
#include "zacplobject.h"

class UcPlPlotErrorHandler;

class UcPlPlotErrorHandlerLock : public UcPlObject
{
    UCPL_DECLARE_MEMBERS(UcPlPlotErrorHandlerLock);
public:
    enum LockStatus {
        kLocked,
        kUnLocked
    };

    UCPL_PORT UcPlPlotErrorHandlerLock();
    UCPL_PORT UcPlPlotErrorHandlerLock(UcPlPlotErrorHandler* pAppErrHandler, 
                             const ZTCHAR * pAppName);

    UCPL_PORT LockStatus status() const;
    UCPL_PORT bool lock(UcPlPlotErrorHandler* pAppErrHandler, const ZTCHAR * pAppName);
    UCPL_PORT bool unLock(UcPlPlotErrorHandler* pAppErrHandler);
    UCPL_PORT void getErrorHandler(UcPlPlotErrorHandler*& pAppErrHandler) const;
    UCPL_PORT const ZTCHAR * appName() const;
};

#endif 
